﻿using System.Text.Json.Serialization;

namespace Journeo_backend.Models.GPT
{
    public class SimpleChatResponse
    {
        [JsonPropertyName("response")]
        public string Response { get; set; }

        // 可以添加一些辅助方法
        public override string ToString()
        {
            return Response;
        }
    }

    public class TravelRecommendResponse
    {
        [JsonPropertyName("analysis")]
        public OverallAnalysis Analysis { get; set; }

        [JsonPropertyName("recommended_spots")]
        public List<Spot> RecommendedSpots { get; set; }
    }

    public class SpotAnalysisResponse
    {
        [JsonPropertyName("spot_details")]
        public List<SpotDetail> SpotDetails { get; set; }

        [JsonPropertyName("analysis")]
        public OverallAnalysis Analysis { get; set; }
    }

    public class OverallAnalysis
    {
        [JsonPropertyName("summary")]
        public string Summary { get; set; }

        [JsonPropertyName("travel_tips")]
        public string TravelTips { get; set; }

        [JsonPropertyName("budget_analysis")]
        public string BudgetAnalysis { get; set; }
    }

    public class Spot
    {
        [JsonPropertyName("name")]
        public string Name { get; set; }

        [JsonPropertyName("description")]
        public string Description { get; set; }
    }

    public class SpotDetail : Spot
    {
        [JsonPropertyName("detailed_analysis")]
        public string DetailedAnalysis { get; set; }

        [JsonPropertyName("visiting_tips")]
        public string VisitingTips { get; set; }

        [JsonPropertyName("budget_estimation")]
        public string BudgetEstimation { get; set; }

        [JsonPropertyName("recommended_duration")]
        public string RecommendedDuration { get; set; }
    }
}
